1. Field of the Invention
The present invention relates to the field of consumer electronic devices coupled in an audio/visual network. More specifically, the present invention pertains to a system and method for performing a search through data stored in electronic devices in the network.
2. Background Art
The typical audio/visual (AV) system consists of a variety of consumer electronic devices that present and record AV media in different ways. For instance, the typical AV equipment found in a home includes a number of components such as a radio receiver or tuner, a compact disk (CD) player and/or a digital video disc player (DVD), a number of speakers, a television, a video cassette recorder (VCR), a tape deck, and the like, and also may include a personal computer (PC). The consumer electronic devices in the AV system are interconnected in some manner, typically by wires.
Consumer electronic devices have become more capable and more complex, and the demand for the latest and most capable devices has increased. As new devices emerge and become popular, the devices are purchased by consumers and xe2x80x9cpluggedxe2x80x9d into their home or office AV systems. In turn, the conventional AV system paradigm is being replaced with a home or office AV network architecture for networking consumer electronic devices. The AV network architecture provides a powerful platform on which device functionality and interoperability can be built, and is capable of taking advantage of the increased sophistication that is being incorporated into consumer electronic devices.
A communication standard, the IEEE 1394 standard, has been defined for networking consumer electronic devices using a standard communication protocol layer (e.g., the audio visual control [AV/C] protocol). The IEEE 1394 standard is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers. The IEEE 1394 standard provides a high-speed serial bus for interconnecting digital devices, thereby providing universal input/output connection. The IEEE 1394 standard defines a digital interface for applications, thereby eliminating the need for an application to convert digital data to an analog form before it is transmitted across the bus. Correspondingly, a receiving application will receive digital data, not analog data, from the bus and will therefore not be required to convert analog data to digital form. The IEEE 1394 standard is ideal for consumer electronics communication in part because devices can be added to or removed from the serial bus while the bus is active.
At least one of the devices in the AV network functions as a controller device; for example, the tuner, a PC, or an intelligent controller device such as a set-top-box. The controller device has a number of specific inputs for coupling to the other consumer electronic devices on the AV network, referred to as target devices. The controller device has a corresponding number of control buttons or control switches which provide a limited degree of controllability and interoperability for the target devices. A user controls the AV system and the target devices by manipulating the buttons and switches on the front of the central component or, alternatively, by manipulating buttons on a hand-held remote control unit. In other implementations of AV networks, such as a network of devices compliant with the home audio/visual interoperability (HAVI) architecture, the target devices provide on-screen display (OSD) controls that are presented to the user on a screen or via speakers of the controller device.
The target devices in the AV network store their content and/or broadcast services using some method or model that provides a hierarchical set of data structures. One example of such a model is the AV/C object list model described in the patent application entitled xe2x80x9cMethod and Apparatus for Representing Devices and Available Information within a Network of Devices Using Object List and Object Entries,xe2x80x9d by Harold Aaron Ludtke, Ser. No. 09/040,540, now U.S. Pat. No. 6,260,063, filed Mar. 17, 1998, assigned to the assignee of the present invention and herein incorporated by reference. In the AV/C object list model, an object is used to represent a distinct entity on the target device, such as a particular track on a compact disk or a particular compact disk loaded into a CD changer that holds multiple CDs. An object list is a list of the objects, such as a list of all CDs in the CD changer.
One problem with an AV network is associated with the maximum bandwidth capacity of the network bus. That is, there is a maximum rate at which the network bus can carry data, typically measured in megabits/second. Each device on the AV network consumes a certain amount of the bandwidth capacity when the device is transmitting data, thereby reducing the bandwidth available for other devices to use at the same time.
In an AV network, particularly a distributed network where the target devices operate primarily as peers, a controller device may need to find, access, and retrieve data from one or more of the target devices. A significant disadvantage to the prior art is that, in order to find specific instances of data that describe the content available from a target device (e.g., descriptive data that corresponds to an object or object list), the controller device first retrieves most or all of the data from the target device. The data must first be transferred across the network bus from the target device to the controller device. The controller device then has to examine all of the data that was stored on the target device. For example, to find whether a particular compact disk is located in a CD changer that holds multiple disks, in the prior art it is necessary for the controller device to retrieve all titles from the target device (the CD changer). The controller device then must parse through all of that data to find the particular title being sought. In instances other than this one, even greater amounts of data may need to be retrieved and searched. Thus, in the prior art, a huge burden is placed on the overall network, the controller device, and the target device by the prior art search method described above. In particular, a large burden is placed on the bus, which must message all the data between the target device and the controller device.
The prior art is problematic because network traffic is significantly increased owing to the large amounts of data that need to be transferred over the network bus whenever a search of the descriptive data is requested. As such, the available bandwidth of the bus is substantially reduced and is thus not fully available for other functions. According to the IEEE 1394 standard, bandwidth is divided into isochronous and asynchronous portions. The isochronous portion of the bandwidth is guaranteed for those devices that successfully reserve the necessary bandwidth. However, this guarantee is at the expense of asynchronous data transfers because these types of transfers by their nature are not guaranteed to be performed by any specific time. Thus, when asynchronous traffic over the bus is heavy, all asynchronous transactions can incur delays. For example, the transmission of OSD data from target devices to controller devices could be delayed, which is manifested to the user as slow screen updates or poor animation quality. Thus, in the prior art, one function of the AV network may be temporarily subverted due to the heavy traffic associated with the search function. Certainly, the number of other simultaneous functions that can be supported by the AV network is reduced when descriptive data are being transferred over the network bus.
In addition, the prior art is problematic because the controller device is required to acquire and then search through large amounts of descriptive data to find the object of interest. The controller device typically is limited in its. capability to process and store data. Consequently, the central processor and other resources of the controller device are taxed by the prior art search method, and are diverted from their main function of managing the real-time user interface and controlling the network and the target devices. Thus, the controller device may not be responsive to the user, and displays, images, etc., provided as part of the graphical user interface may be delayed or slowed. In addition, the controller device must be designed and manufactured with increased capabilities such as a faster processor or more memory in order to support the prior art search method, increasing the cost of the controller device for the consumer.
Similarly, a disadvantage to the prior art is that the performance of the target device is also negatively impacted. In most target devices, descriptive data are not necessarily stored in a convenient location for quick access and according to the format required by the controller device for the search. Typically, it is necessary for the target device to first gather the information it has available and assemble that information to compile the necessary descriptive data. Then, the target device must translate the various data formats and package the descriptive data in the format expected by the controller device. Thus, the prior art is problematic because it consumes the resources available in the target device. As above, the processing capability of the target device can be taxed by the prior art search method in order to send data over the network bus to the controller device. Because the target device must be designed with increased capabilities in order to support the prior art search method, the cost to the consumer is also increased.
Another problem in the prior art is associated with the continuous evolution and improvements occurring with regard to AV networks. For example, some target devices employing general purpose hard disks or other mass storage devices may be designed to record data without regard to or specific knowledge of the type of data being recorded. Thus, there may exist a class of devices that will not have the capability to create the descriptive data in a format that is compatible with that required. for the controller device to determine what is stored on the target device.
Accordingly, what is needed is a method and/or system that provides the capability to perform a search of the descriptive data stored on target devices but reduces traffic over the network bus, thereby improving overall network performance. What is further needed is a method and/or system for searching the descriptive data that addresses the above need and reduces the above described burdens placed on the target devices and on the controller device, thus improving the overall performance of these devices while obviating the need to build in costly performance enhancements; such as more powerful central processors and larger memories, to support the search function. In addition, what is needed is a search method and/or system that addresses the above needs and is also expected to be compatible with the changes and improvements made to AV networks in the future.
The present invention includes a method and system that provides the capability to perform a search of the descriptive data stored on target devices but reduces the traffic over the network bus, thereby improving overall network performance. The present invention also provides a method and system for searching the descriptive data that accomplishes the above and reduces the burdens placed on the target devices and on the controller device, thus improving the overall performance of these devices while obviating the need to build in costly performance enhancements, such as more powerful central processors and larger memories, to support the search function. In addition, the present invention provides a search method and system that accomplishes the above and is also expected to be compatible with future implementations of AV networks. These and other advantages of the present invention not specifically mentioned above will become clear within discussions of the present invention presented herein.
The present invention is a system and method of same for performing a search of stored data in a network of electronic devices connected by a network interface such as a bus, wherein at least one of the electronic devices is a target device containing the stored data and another one of the electronic devices is a controller device. First, search criterion are specified in a command structure and the command structure is transmitted from the controller device to the target device over the network bus. The target device recognizes the command structure as a request to perform the search of the stored data and executes the command structure, thereby causing the search to be performed. As a result of a successful search, data on the target device that satisfy the search criterion are identified and an identifier corresponding to that data is also specified. The target device transmits a response containing the identifier to the controller device over the network interface. The identifier provides sufficient information to allow the discovered data to be subsequently accessed and retrieved by the controller device. The identifier also enables the controller device to access and retrieve the content/broadcast service data (e.g., an object) that is described by the data that satisfy the search criteria.
In one embodiment, the electronic devices are compliant with AV/C (audio visual control) protocol, and the network and the network interface are compliant with the IEEE 1394 communication standard.
The present invention performs the search on the target device which contains the stored data and not on the controller device. Consequently, only a relatively small amount of data is transmitted over the network interface, thus consuming only a small portion of the available bandwidth capacity of the network interface and improving overall network performance. Additionally, the controller device is not burdened with the time-consuming task of searching through a large amount of data in order to find the data of interest. Likewise, the target devices are not burdened by having to process, translate and format a large amount of data in order to prepare that data to be transferred to the target device.
In the present embodiment, the search criterion specified in the command can include the search subject, a location for the search, a starting point for the search, and/or a direction of the search. Similarly, the format for the identifier provided in the response can include the address of the data that satisfies the search criterion, a position of an object described by that data, an identifier of the object, a list containing the object, and/or a type of list containing the object. The present invention allows a search to be specified and conducted based on criteria which do not require the storage device (e.g., the hard drive) to understand the structure of the descriptive data. This flexibility and other features of the present invention are expected to allow the present invention to remain compatible and useful even after changes and improvements are made to AV networks.